home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Me-Mz / Memory Tools.cpt / Memory Tools / card_13996.txt < prev    next >
Text File  |  1989-01-07  |  5KB  |  161 lines

  1. -- card: 13996 from stack: in
  2. -- bmap block id: 15304
  3. -- flags: 0000
  4. -- background id: 12278
  5. -- name: string
  6. ----- HyperTalk script -----
  7. on opencard
  8.   hide card field "prt"
  9.   hide card field "ans"
  10.   pass opencard
  11. end opencard
  12.  
  13.  
  14.  
  15. -- part 2 (button)
  16. -- low flags: 00
  17. -- high flags: A003
  18. -- rect: left=317 top=55 right=77 bottom=417
  19. -- title width / last selected line: 0
  20. -- icon id / first selected line: 0 / 0
  21. -- text alignment: 1
  22. -- font id: 0
  23. -- text size: 12
  24. -- style flags: 0
  25. -- line height: 16
  26. -- part name: Demo
  27. ----- HyperTalk script -----
  28. on mouseUp
  29.   ask"Which Mode P,Z,D,X,L,U,V?"
  30.   if it is empty then exit mouseup
  31.   show card field "prt"
  32.   show card field "ans"
  33.   put (first character of it) & ")" into second item of word 1 of card field "prt"
  34.   do card field "prt"
  35.   repeat until the mouseclick
  36.     put "*" after card field "ans"
  37.     delete last char of card field "ans"
  38.   end repeat
  39.  
  40.   hide card field "prt"
  41.   hide card field "ans"
  42. end mouseUp
  43.  
  44.  
  45.  
  46. -- part 3 (field)
  47. -- low flags: 80
  48. -- high flags: 0004
  49. -- rect: left=11 top=67 right=264 bottom=478
  50. -- title width / last selected line: 0
  51. -- icon id / first selected line: 0 / 0
  52. -- text alignment: 0
  53. -- font id: 3
  54. -- text size: 12
  55. -- style flags: 0
  56. -- line height: 16
  57. -- part name: prt
  58.  
  59.  
  60. -- part 4 (field)
  61. -- low flags: 80
  62. -- high flags: 2004
  63. -- rect: left=11 top=251 right=309 bottom=480
  64. -- title width / last selected line: 0
  65. -- icon id / first selected line: 0 / 0
  66. -- text alignment: 0
  67. -- font id: 3
  68. -- text size: 12
  69. -- style flags: 0
  70. -- line height: 16
  71. -- part name: ans
  72.  
  73.  
  74. -- part contents for background part 68
  75. ----- text -----
  76. The String XFCN is a versatile function that provides several options for viewing a range of memory as a string.
  77.  
  78. The general format of the String XFCN is: String(Address,Mode,Ext)
  79.  
  80. Here Address is any even hexadecimal address 
  81. (optionally preceeded by H).
  82.  
  83. Mode is required and must be one of:
  84. P - In this case the data at the given address is interpreted as a Pascal
  85.      String (i.e. first byte is the length of the string).
  86.  
  87. Z - In this case the data at the given address is interpreted as a C-string
  88.       (i.e. the string is terminated by a zero byte). Compare the results of 
  89.       the P and Z option using the demo on this card.
  90.  
  91. D - In this case the result is the string consisting of the 4 words 
  92.       starting at the given address in hexadecimal followed by two dashes 
  93.       and the text equivalents of these four words. This produces the 
  94.       effect of a dump (hence the D)  that is common to many 
  95.       disassemblers.
  96.  
  97. L- A long dump. It dumps the hex contents of the 8 words stored
  98.      beginning at the given address, followed by two dashes and then the 
  99.      text equivalents of these values.
  100.  
  101. X - An extra long dump. It dumps the hex contents of the 16 words stored 
  102.       beginning at the given address, followed by two dashes and then the 
  103.       text equivalents of these values.
  104.  
  105. U - produces a hex-dump of the four words stored starting at the given 
  106.       address
  107.  
  108. V - produces a hex-dump of the eight words stored starting at the given 
  109.       address
  110.  
  111. N - Returns the string of 8 characters stored at the given address. 
  112.      Several software products produce names of this length and that is 
  113.      why this option is included here.
  114. __________________________________________________________
  115. An alternate version of the string XFCN is 
  116.                            String(Address1,Address2) 
  117. which will dump the hex values of the contents of address1 to address2 folowed by their text equivalents. 
  118.  
  119. Note: 1. address1-address2 must be at most 120 (decimal).
  120.          2. Address2 MUST be preceeded by an H prefeix.
  121.  
  122. Example: put String(H2E0,H2F0)
  123.  
  124. __________________________________________________________
  125. If a third parameter of any kind is included with the XFCN, then String also returns a second line in its result. The second line contains the next address (in hex) that follows the dumped string.
  126. __________________________________________________________
  127.  
  128. Take a look at the script for the Demo button on this card. It contains a nice example of how to use Hypertalk's 'do' command.
  129.  
  130.  
  131.  
  132.  
  133.  
  134. -- part contents for background part 69
  135. ----- text -----
  136. The Pascal String is 
  137. Finder
  138.  The D option produces 
  139.  0646 696E 6465 7220 -- Finder 
  140.  the V option produces 
  141.  0646 696E 6465 7220 2020 2020 2020 2020
  142.  the X option produces 
  143.  0646 696E 6465 7220 2020 2020 2020 2020 0000 0020 0000 0020 FFFF FFFF 0000 1064 -- Finder           ÀáÀáÀáÀád
  144.  the D,L option produces 
  145.  0646 696E 6465 7220 -- Finder 
  146. 2E8
  147.  
  148. Click the mouse to continue
  149.  
  150. -- part contents for card part 3
  151. ----- text -----
  152. put string("2E0",p) into card field "ans"
  153.  
  154. The contents of the string at address 2E0 (the name of the finder) is displayed below using the format you specified. The blinking asterisk shows you exactly where the string ends. Note that the Z option returns a number of blank spaces which are not present in the string returned by the P option. If you use the X or L option, you can see these blanks displayed in hex as a series of 20's.
  155.  
  156.  
  157.                             Click the Mouse to Continue
  158.  
  159. -- part contents for card part 4
  160. ----- text -----
  161. Illegal String Type